package cn.tedu.collection;

import java.util.*;

/**
 * @author :Colin
 * @version 创建时间: 2021/6/21 16:21
 * 本类用于测试map接口
 */
public class TestMap {
    public static void main(String[] args) {
        /*Map中的数据要符合映射规则，一定注意要同时指定k，v的数据类型
        至于是什么类型，取决于业务*/
        Map<Integer, String> map=new HashMap<>();
        map.put(9527,"白骨精");//向集合中添加数据
        map.put(9528,"黑箱精");
        map.put(9528,"黑猫精");
        map.put(9529,"鲤鱼精");
        System.out.println(map);
        /*1.map中存放的数据是无序的数据
        2.map中的key值不可以重复
        如果重复，此key值对应的value会被覆盖掉
        打印的结果是{9527=白骨精, 9528=黑猫精, 9529=鲤鱼精}
        没有黑箱精
         */
        //map.clear();
//       boolean containsKey= map.containsKey(9527);
//        System.out.println(containsKey);
        System.out.println(map.containsKey(9527));//是否包含key值
        System.out.println(map.containsValue("黑礼物"));//是否包含value
        System.out.println(map.get(9529));//鲤鱼精,根据key去除对应的value
        System.out.println(map.remove(9528));//黑猫精，删除指定元素，kv都删除
        System.out.println(map);
        System.out.println(map.remove(9528));//null
        System.out.println(map.containsKey(9527));//false
        System.out.println(map.size());//个数
        System.out.println(map.hashCode());//哈希码值
        System.out.println(map.equals("黑鱼精"));//false
        Collection<String> values = map.values();//把map的value取出放入集合中
        System.out.println(values);
        System.out.println(map);
        Set<Integer> integers = map.keySet();
        System.out.println(integers);
        Iterator<Integer> it= integers.iterator();
        while(it.hasNext()){
//            Integer in=
//            System.out.println(map.get(in));
             System.out.println(map.get(it.next()));

        }


    }


}
